home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / webserver_robot.nasl < prev    next >
Text File  |  2005-03-31  |  3KB  |  109 lines

  1. #
  2. # This script was written by Noam Rathaus <noamr@securiteam.com>
  3. #
  4. # See the Nessus Scripts License for details
  5. #
  6.  head = "
  7. Some Web Servers use a file called /robot(s).txt to make search engines and
  8. any other indexing tools visit their WebPages more frequently and
  9. more efficiently.
  10.  
  11. By connecting to the server and requesting the /robot(s).txt file, an
  12. attacker may gain additional information about the system they are
  13. attacking.
  14.  
  15. Such information as, restricted directories, hidden directories, cgi script
  16. directories and etc. Take special care not to tell the robots not to index
  17. sensitive directories, since this tells attackers exactly which of your
  18. directories are sensitive.
  19.  
  20. ";
  21.  
  22.  
  23. tail = "
  24.  
  25. Risk factor : Medium";
  26.  
  27. if(description)
  28. {
  29.  script_id(10302);
  30. # script_cve_id("CVE-MAP-NOMATCH");
  31.  script_version ("$Revision: 1.23 $");
  32.  
  33.  name["english"] = "robot(s).txt exists on the Web Server";
  34.  script_name(english:name["english"]);
  35.  
  36.  desc["english"] = head + tail;
  37.  
  38.  script_description(english:desc["english"]);
  39.  
  40.  summary["english"] = "robot(s).txt exists on the Web Server";
  41.  script_summary(english:summary["english"]);
  42.  
  43.  script_category(ACT_ATTACK);
  44.  
  45.  script_copyright(english:"This script is Copyright (C) 1999 SecuriTeam");
  46.  family["english"] = "General";
  47.  script_family(english:family["english"]);
  48.  
  49.  script_dependencie("find_service.nes", "http_version.nasl");
  50.  script_require_ports("Services/www", 80);
  51.  
  52.  exit(0);
  53. }
  54.  
  55. #
  56. # The script code starts here
  57. #
  58.  
  59. include("http_func.inc");
  60. include("http_keepalive.inc");
  61. port = get_http_port(default:80);
  62. if ( get_kb_item("www/" + port + "/no404") ) exit(0);
  63.  
  64. res = is_cgi_installed_ka(port:port, item:"/robot.txt");
  65. if(res)
  66. {
  67.  sockwww = http_open_socket(port);
  68.  if (sockwww)
  69.  {
  70.   sendata = http_get(item:"/robot.txt", port:port);
  71.   send(socket:sockwww, data:sendata);
  72.   headers = http_recv_headers(sockwww);
  73.   body = http_recv_body(socket:sockwww, headers:headers, length:0);
  74.   if("llow" >< body || "agent:" >< body)
  75.    {
  76.    if (body)
  77.     {
  78.     body = string("The file 'robot.txt' contains the following:\n", body);
  79.     security_warning(port:port, data:head + body + tail);
  80.     }
  81.    http_close_socket(sockwww);
  82.   }
  83.  }
  84.  else exit(0);
  85. }
  86. else
  87. {
  88.  res = is_cgi_installed_ka(port:port, item:"/robots.txt");
  89.  if(res)
  90.  {
  91.   sockwww = http_open_socket(port);
  92.   if (sockwww)
  93.   {
  94.    sendata = http_get(item:"/robots.txt", port:port);
  95.    send(socket:sockwww, data:sendata);
  96.    headers = http_recv_headers(sockwww);
  97.    body = http_recv_body(socket:sockwww, headers:headers, length:0);
  98.   if("llow" >!< body && "agent:" >!< body)exit(0);
  99.    
  100.    if (body)
  101.    {
  102.     body = string("The file 'robots.txt' contains the following:\n", body);
  103.     security_warning(port:port, data:head + body + tail);
  104.    }
  105.    http_close_socket(sockwww);
  106.   }
  107.  }
  108. }
  109.